
#ifndef __VOLUMEUNIT_H__
#define __VOLUMEUNIT_H__

#include <Unit.h>

#define TSP VolumeUnit::getTsp()
#define TBSP VolumeUnit::getTbsp()
#define OZ VolumeUnit::getOz()
#define BASE_VOLUME_UNIT TSP

#define TSP_TO_BASEUNIT 1
#define TBSP_TO_BASEUNIT 2
#define OZ_TO_BASEUNIT 6

class VolumeUnit : public Unit
{
public:
    static const VolumeUnit* getTsp();
    static const VolumeUnit* getTbsp();
    static const VolumeUnit* getOz();
    static void output(int amount, std::ostream& stream, const Unit* unit);
    static std::list<const Unit*> getVolumeUnitList();

private:
    VolumeUnit(int factor, const char* name);
};

#endif

